From: Didier Raboud Date: Mon, 27 Feb 2012 13:53:50 +0000 (+0100) Subject: Recognise Debian Ports as `sid` too. X-Git-Tag: archive/raspbian/10.2018112800+rpi1^2~174 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7019e54cc4792515442e33f5c815b35b43a8c098;p=lsb.git Recognise Debian Ports as `sid` too. This extends the interface of guess_release_from_apt to accept new origin-label pairs, with a default to accept 'Debian Ports': 'ftp.debian-ports.org'. It also special-cases Debian Ports when guessing Release and Codename. Closes: #624769 Reported-by: Thorsten Glaser Signed-off-by: Didier Raboud --- diff --git a/lsb_release.py b/lsb_release.py index d65e933..29aa5b8 100644 --- a/lsb_release.py +++ b/lsb_release.py @@ -166,7 +166,8 @@ def parse_apt_policy(): def guess_release_from_apt(origin='Debian', component='main', ignoresuites=('experimental'), - label='Debian'): + label='Debian', + alternate_olabels={'Debian Ports':'ftp.debian-ports.org'}): releases = parse_apt_policy() if not releases: @@ -176,7 +177,9 @@ def guess_release_from_apt(origin='Debian', component='main', releases = [x for x in releases if ( x[1].get('origin', '') == origin and x[1].get('component', '') == component and - x[1].get('label', '') == label)] + x[1].get('label', '') == label) or ( + x[1].get('origin', '') in alternate_olabels and + x[1].get('label', '') == alternate_olabels.get(x[1].get('origin', '')))] # Check again to make sure we didn't wipe out all of the releases if not releases: @@ -240,6 +243,12 @@ def guess_debian_release(): rinfo = guess_release_from_apt() if rinfo and not distinfo.get('CODENAME'): release = rinfo.get('version') + + # Special case Debian-Ports as their Release file has 'version': '1.0' + if release == '1.0' and rinfo.get('origin') == 'Debian Ports' and rinfo.get('label') == 'ftp.debian-ports.org': + release = None + rinfo.update({'suite': 'unstable'}) + if release: codename = lookup_codename(release, 'n/a') else: